A business process is a collaborative execution of business activities according to the specific business rules in order to achieve some business goals. Financial Services and other Businesses have put in a lot of effort into reengineering their business processes to lower cost and improve efficiency. Recently, with the help of the rapid advancement of computer and information technology, complex business processes in financial services and other industries can now be automated, tasks which were traditionally performed manually. This brings up many new challenges: 1) Business processes need to be easily created, deployed and updated. 2) Business processes needs to be constructed in an interoperable way, so that different organizations and departments can integrate their business processes together. 3) Correctness and security of a business process needs to be guaranteed. 4) Tools are needed to facilitate business process management and reusability.
XML has appeared as the new standard for data representation and exchange of the World Wide Web. More and more applications have been built based on XML to facilitate interoperability between different heterogeneous systems. XML-Schema has become a standard to specify semi-structured data-types in XML. Much work has been done on understanding semi-structured data types and their relationship with relational data. Web service protocols, such as SOAP, WSDL, and UDDI provides ubiquitous interoperability of services, and allow coordination of highly distributed services in a business process. Native XML databases are emerging on the market to provide XML data stores with query and update capabilities.
Workflow is known in the art and provides a way to separate the control logic from the system components, and specify the control logic at a high level. According to Workflow Management Coalition, workflows are computational models of business processes. Workflow systems are originally developed for office automation. Those systems are targeted for simple tasks such as document processing and file sharing. Then people have been considering more complex transactional workflows to model business process. Various extended transaction models, which are based on transaction models with relaxed atomicity and isolation, have a nice theoretical framework inherited from database transactions. However, few of them are implemented in commercial systems. The workflow model generalizes them, provides much broader functionality and is a more appropriate framework to address complex business processes. During the past few years, many commercial systems have been developed, such as Tibco's BPM, Microsoft's BizTalk, IBM's Exotica/FlowMark, etc. Many research prototypes have been created, such as ConTract and Mentor etc. Many formal methods have been proposed for workflow modeling and execution: event algebra, state chart, petri net, temporal logic, transaction logic and etc. XML based standards have been proposed to define and model workflows as interactions of web services, such as BPML, WSCL, WSCI, BPEL4WS, etc.
Rules engines have also been under development for years. Currently there are several standards and commercial systems that are provided by IBM, Microsoft, iLog, Blazesoft and others. The rule engines can consume rule definitions and execute different types of rules, such as validation rules, business policy rules and business decisions. There are different types of rule engines as well e.g. inference engines and decision tree engines. Business processes often contain multiple business rules. Because most programming environments are designed for either data or procedures, when confronted with a business specification written as a collection of rules, the developer is faced with a tricky problem. The rules cannot be expressed in data, and coding them procedurally leads to “spaghetti code.” Further, the original logical structure of the rules, which take a declarative form and are easy to understand, get lost in the code, become difficult to debug, and almost impossible to update if necessary. There exist several emerging standards for rule description. One such standard, namely RuleML is the canonical Web language for rules using XML markup, formal semantics, and efficient implementations. RuleML covers the entire rule spectrum, from derivation rules to transformation rules to reaction rules. RuleML can thus specify queries and inferences in Web ontologies, mappings between Web ontologies, and dynamic Web behaviors of workflows, services, and agents.
State machines have been widely used for modeling reactive systems. The original finite-state machines have been extended to express hierarchy and concurrency, such as in Statechart. Many works have been done to define semantics and build modeling tools based on state machines. Software design languages and tools, such as UML, ROOM, and STATE-MATE, have employed variations of state machines. Despite the existence of these technologies, problems still remain in business process automation and management.